home *** CD-ROM | disk | FTP | other *** search
- Introduction
- ============
-
- Spam Be Gone! is a program that uses machine learning to predict
- the priority of mail messages. As well as assigning spam messages
- a low priority, it can also assign high priority to messages that
- are likely to be of interest to you. It is a standalone program
- that is designed to be integrated with your mailreader. It
- requires three things to be any use:
-
- 1) Some way of calling Spam Be Gone! for each new mail message.
- Ideally this would be as part of the mailreader, but there is a
- program on Aminet called Filter that can be used externally
- (that's what I use).
-
- 2) Your mailreader should be able to either filter mail based on the
- X-Priority: message header or allow sorting mail based on that
- header.
-
- 3) The mailer should also allow Spam Be Gone! to be called
- by the user on demand to allow training (this is usually
- accomplished by an ARexx menu command). If this is not possible,
- Spam Be Gone! can be trained from the CLI (not a big hassle,
- because not a great deal of training is required)
-
-
- Installation of Spam Be Gone! (AMIGA)
- =====================================
-
- 1. Copy the Spam Be Gone! executable somewhere. (In the examples
- below, I've used Apps:Filter/). Spam Be Gone! requires that
- the environment variables HOME and USER be set. HOME is the
- directory where Spam Be Gone! will store it's config files,
- and USER is your username (this should be the same as the
- username in your key registration message).
-
-
- 2. Get your key registration message from
-
- http://www.internz.com/SpamBeGone/
-
-
- 3. Run Spam Be Gone on the registration message (key_msg),
-
- Apps:Filter/SpamBeGone -r < key_msg
-
- to update your key. The message should be copied to stdout
- along with a message saying a key was updated (if not, you
- probably have a different username to the one your key works
- for). You can also run SpamBeGone with the -h option to see
- what else SpamBeGone lets you do from the CLI.
-
-
- 4. Edit your $HOME/.sbg-config file as necessary. In general the
- keywords should be lowercase, and config identifiers
- (like K+, K-, ADDRESSBOOK) are uppercase. We're contemplating
- writing a standalone MUI application that will make this
- prettier)
-
- a) You should change/add positive and negative keywords.
- Positive keywords are just as important as negative
- keywords, because although spammers may try to avoid
- the common negative keywords, they have no idea what
- your interests (and thus your positive keywords) are.
- b) You should set the location of your mailreader's
- addressbook. If you don't have an addressbook you could
- create a file (the default is .sbg-aliases) containing
- email addresses of your friends.
- c) You may wish to add more USER keywords (these indicate
- that messages make reference to you or your friends
- names directly).
-
-
- 5. Setup your system to pass incoming mail messages through
- Spam Be Gone!. Ideally you'd want Spam Be Gone! to be called
- directly by your mail reader for each incoming mail message. I use
- Serious Voodoo, which doesn't allow this, so I use Filter
- (from Aminet).
-
- Here's my setup:
-
- Mail arrives (by both SMTPd and AmiPOP) and gets stored in a
- spoolfile (UUMAIL:trigg). Filter uses file notification to see
- when new mail arrives there, and passes each message through
- Spam Be Gone!, whos output gets appended to a new spool
- file (UUMAIL:filtered). Voodoo is configured to get incoming
- mail from UUMAIL:filtered rather than UUMAIL:trigg, and
- automatically send messages with X-Priority: 5 to my garbage
- folder.
-
- My .filterrc file looks like this:
-
- #?
- COMMAND:Apps:Filter/SpamBeGone.sh
-
- SpamBeGone.sh is a short shell script that just calls Spam Be
- Gone! with the right parameters, and appends the output of Spam
- Be Gone to the new spoolfile. It should be possible to just
- put the equivalent line directly in the .filterrc, but for some
- completely unexplained reason the temporary mail files filter
- creates are only visible to SpamBeGone if it's run from inside
- the script.
-
- .key FILE/A
- .bra {
- .ket }
- Apps:Filter/SpamBeGone >>UUMAIL:Filtered -r <{FILE}
-
-
- If you use a mail reader that does POP'ing internally (like YAM)
- then something else will have to be done. My friend who uses YAM
- has the unix version of Spam Be Gone! make the predictions as the
- mail arrives at his unix account. If this isn't an option for you,
- some friendly soul will have to write an ARexx script to get Spam
- Be Gone to predict the priority (use the -p option) after your
- mailreader gets the new mail. Alternatively you could nicely ask
- the author of your mailreader to either implement piping messages
- through programs on arrival or talk to us about integrating a
- library/plugin version of Spam Be Gone! into the mailer.
-
-
- 6. Initially train Spam Be Gone! on around 20 messages with
- a variety of priorities (ranging from 1 to 5), eg from the CLI:
-
- Apps:Filter/SpamBeGone -t 5 < spammy.msg
- Apps:Filter/SpamBeGone -t 1 < important.msg
-
- Ideally you'd like to be able to do this from inside your
- mailreader as well. Voodoo currently doesn't let me, but my friend
- who uses YAM has the following simple ARexx script to do it.
- Make 5 copies with suitably named files (like "Train--Priority-5"),
- with the number after -t changing for each one. You may have
- to give the full location of SpamBeGone if it isn't in your path.
- You can then call the appropriate script from within YAM to
- train on the current message. (The actual script my friend has
- uses rsh to connect to the unix machine where he runs Spam Be Gone!
- and train on the message there.)
-
- /* Train Spam Be Gone! */
- OPTIONS RESULTS
- ADDRESS YAM
- getMailInfo FILE
- ADDRESS COMMAND 'SpamBeGone -t 5 <' || RESULT
-
-
-
- General Use
- ===========
-
-
- Sit back and see what priorities Spam Be Gone! predicts in
- the X-Priority: header of your mail messages. You may
- be able to configure your mailreader to sort incoming
- mail messages based on their priority, or to automatically
- send messages with very low priority to a junk folder (that's
- what I do with Voodoo).
-
- You should only have to train Spam Be Gone! on messages that
- you think it made a wrong prediction on. If the prediction
- is acceptable, no training is required. For example, if
- Spam Be Gone! assigns a high priority to a spam message,
- train Spam Be Gone! so that next time a similar message
- arrives it will make the right prediction. Similarly for
- messages that Spam Be Gone mistakenly assigns a low priority
- to. You might also want to review the message to see whether
- it contains keywords (either positive or negative) that
- could be added to your $HOME/.sbg-config file (in this case you
- you may not need to train on the message as well, run
-
- Apps:Filter/SpamBeGone -s < msg
-
- and see if the new prediction is better. If not, train on
- the message as well.
-
-
- Let us know if you like Spam Be Gone!, have any suggestions
- (particularly installation instructions for other mailreaders,
- so we can share them with other users), or (gasp!) bug reports at
- sbg-support@internz.co.nz
-
-
-